// Generated from D:/develop/project/java/graphx/src/main/java/com/dongle/graphx/antlr\GraphxGrammar.g4 by ANTLR 4.9.2

package com.dongle.graphx.antlr.code;

import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.atn.ATN;
import org.antlr.v4.runtime.atn.ATNDeserializer;
import org.antlr.v4.runtime.atn.LexerATNSimulator;
import org.antlr.v4.runtime.atn.PredictionContextCache;
import org.antlr.v4.runtime.dfa.DFA;

@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
public class GraphxGrammarLexer extends Lexer {
    static {
        RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION);
    }

    protected static final DFA[] _decisionToDFA;
    protected static final PredictionContextCache _sharedContextCache =
            new PredictionContextCache();
    public static final int
            T__0 = 1, T__1 = 2, Identifier = 3, Line = 4, Arrow = 5, WS = 6;
    public static String[] channelNames = {
            "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
    };

    public static String[] modeNames = {
            "DEFAULT_MODE"
    };

    private static String[] makeRuleNames() {
        return new String[]{
                "T__0", "T__1", "Identifier", "Line", "Arrow", "LetterOrDigit", "Letter",
                "WS"
        };
    }

    public static final String[] ruleNames = makeRuleNames();

    private static String[] makeLiteralNames() {
        return new String[]{
                null, "'{'", "'}'", null, "'-'", "'>'"
        };
    }

    private static final String[] _LITERAL_NAMES = makeLiteralNames();

    private static String[] makeSymbolicNames() {
        return new String[]{
                null, null, null, "Identifier", "Line", "Arrow", "WS"
        };
    }

    private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
    public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);

    /**
     * @deprecated Use {@link #VOCABULARY} instead.
     */
    @Deprecated
    public static final String[] tokenNames;

    static {
        tokenNames = new String[_SYMBOLIC_NAMES.length];
        for (int i = 0; i < tokenNames.length; i++) {
            tokenNames[i] = VOCABULARY.getLiteralName(i);
            if (tokenNames[i] == null) {
                tokenNames[i] = VOCABULARY.getSymbolicName(i);
            }

            if (tokenNames[i] == null) {
                tokenNames[i] = "<INVALID>";
            }
        }
    }

    @Override
    @Deprecated
    public String[] getTokenNames() {
        return tokenNames;
    }

    @Override

    public Vocabulary getVocabulary() {
        return VOCABULARY;
    }


    public GraphxGrammarLexer(CharStream input) {
        super(input);
        _interp = new LexerATNSimulator(this, _ATN, _decisionToDFA, _sharedContextCache);
    }

    @Override
    public String getGrammarFileName() {
        return "GraphxGrammar.g4";
    }

    @Override
    public String[] getRuleNames() {
        return ruleNames;
    }

    @Override
    public String getSerializedATN() {
        return _serializedATN;
    }

    @Override
    public String[] getChannelNames() {
        return channelNames;
    }

    @Override
    public String[] getModeNames() {
        return modeNames;
    }

    @Override
    public ATN getATN() {
        return _ATN;
    }

    public static final String _serializedATN =
            "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\b\63\b\1\4\2\t\2" +
                    "\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\3\2\3\2\3\3\3" +
                    "\3\3\4\3\4\7\4\32\n\4\f\4\16\4\35\13\4\3\5\3\5\3\6\3\6\3\7\3\7\5\7%\n" +
                    "\7\3\b\3\b\3\b\3\b\5\b+\n\b\3\t\6\t.\n\t\r\t\16\t/\3\t\3\t\2\2\n\3\3\5" +
                    "\4\7\5\t\6\13\7\r\2\17\2\21\b\3\2\b\3\2\62;\6\2&&C\\aac|\4\2\2\u0081\ud802" +
                    "\udc01\3\2\ud802\udc01\3\2\udc02\ue001\5\2\13\f\16\17\"\"\2\65\2\3\3\2" +
                    "\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\21\3\2\2\2\3\23" +
                    "\3\2\2\2\5\25\3\2\2\2\7\27\3\2\2\2\t\36\3\2\2\2\13 \3\2\2\2\r$\3\2\2\2" +
                    "\17*\3\2\2\2\21-\3\2\2\2\23\24\7}\2\2\24\4\3\2\2\2\25\26\7\177\2\2\26" +
                    "\6\3\2\2\2\27\33\5\17\b\2\30\32\5\r\7\2\31\30\3\2\2\2\32\35\3\2\2\2\33" +
                    "\31\3\2\2\2\33\34\3\2\2\2\34\b\3\2\2\2\35\33\3\2\2\2\36\37\7/\2\2\37\n" +
                    "\3\2\2\2 !\7@\2\2!\f\3\2\2\2\"%\5\17\b\2#%\t\2\2\2$\"\3\2\2\2$#\3\2\2" +
                    "\2%\16\3\2\2\2&+\t\3\2\2\'+\n\4\2\2()\t\5\2\2)+\t\6\2\2*&\3\2\2\2*\'\3" +
                    "\2\2\2*(\3\2\2\2+\20\3\2\2\2,.\t\7\2\2-,\3\2\2\2./\3\2\2\2/-\3\2\2\2/" +
                    "\60\3\2\2\2\60\61\3\2\2\2\61\62\b\t\2\2\62\22\3\2\2\2\7\2\33$*/\3\2\3" +
                    "\2";
    public static final ATN _ATN =
            new ATNDeserializer().deserialize(_serializedATN.toCharArray());

    static {
        _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
        for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
            _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
        }
    }
}